@奈良山
3年前 提问
1个回答

如何防范缓冲区溢出

帅末
3年前
官方采纳

防范办法如下:

  1. 不要用%n formatter;

  2. 不要把用户的输入作为参数传到格式化字符串处理函数中,例如,printf(“%s”, argv[1]);

  3. 字符串处理避免使用strcpy,strcat,sprintf,gets。应该使用strncpy,strncat,snprintf。strlcpy和strlcat都是NULL结尾。尽量使用std::string,MFC::CString

  4. 使用C++ I/O函数

  5. 使用安全的C Runtime Time函数

  6. 检查文件路径的长度,不要超过系统允许的最大值。